Skip to content

This project demonstrates the creation of an interactive Splunk dashboard to analyze Apache Web Traffic Logs in JSON format. The dashboard provides real-time insights into web activity, error trends, top resources, user IPs, and geographic traffic distribution.

Notifications You must be signed in to change notification settings

GauravGhandat-23/Splunk-Dashboard-for-Web-Traffic-Logs

Repository files navigation

πŸ“Š Splunk Dashboard for Web Traffic Logs

Splunk Apache JSON SIEM Status

image

πŸ“Œ Project Overview

This project demonstrates the creation of an interactive Splunk dashboard to analyze Apache Web Traffic Logs in JSON format.
The dashboard provides real-time insights into web activity, error trends, top resources, user IPs, and geographic traffic distribution.

It is designed for web monitoring, security analysis, and performance troubleshooting.


🎯 Objectives

  • Analyze overall web traffic volume
  • Monitor successful and failed HTTP responses
  • Identify top requested URIs
  • Track top users by IP address
  • Visualize web traffic geographically using a Choropleth Map

πŸ› οΈ Tech Stack

  • Splunk Enterprise
  • Apache Web Access Logs (JSON format)
  • SPL (Search Processing Language)

πŸ“‚ Dataset Details

  • Source: apache_mixed_access_full (1).json
  • Host: webserver
  • Sourcetype: _json
  • Key Fields:
    • ip
    • method
    • uri
    • status
    • _time

βš™οΈ Lab Setup & Configuration

1️⃣ Data Ingestion

  1. Login to Splunk as Administrator
  2. Navigate to:

Settings β†’ Add Data β†’ Upload

1 2 3
  1. Upload apache_logs.json
4 5 6 7
  1. Set:
  • Source Type: _json
  • Host: webserver
8 9 10 11
  1. Review and submit
12 13

Verify ingestion:

source="apache_logs.json"

πŸ“Š Dashboard Creation

Dashboard Details

  • Dashboard Name: Web Traffic Logs Dashboard
  • Dashboard Type: Classic Dashboard
  • Permissions: Private
14 15 16

⏱️ Task 0: Time Range Input

A shared time picker is used to ensure consistency across all panels.

  • Label: Time Range
  • Token: time_range

All panels use the shared time picker token time_range.

17 18 19 20 21 22 23 24 25

πŸ“ˆ Task 1: Web Activities

πŸ”Ή Total Web Requests

Visualization: Single Value

source="apache_logs.json" host="webserver" sourcetype="_json"
| stats count AS "Total Web Requests"
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

πŸ”Ή Successful Responses (200 OK)

Visualization: Single Value

source="apache_mixed_logs.json" host="webserver" sourcetype="_json" method=GET status=200
| stats count AS "Successful Responses"
42 43 44 45 46 47 48 49

πŸ”Ή Client Errors (4xx)

Visualization: Single Value

source="apache_mixed_access_full (1).json" host="webserver" sourcetype="_json"
| where status>=400 AND status<500
| stats count AS "Client Errors"
50 51 52 53 54 55 56

πŸ”Ή Server Errors (5xx)

Visualization: Single Value

source="apache_logs.json" host="webserver" sourcetype="_json"
| where status>=500 AND status<600
| stats count AS "Server Errors"
57 58 59 60 61 62 63 64

πŸ“Š Task 2: Web Statistics

πŸ”Ή Top Requested URIs

Visualization: Bar Chart

source="apache_logs.json" host="webserver" sourcetype="_json"
| stats count AS Hits by uri
| sort - Hits
65 66 67 68 69 70 71 72 73

πŸ”Ή Top Users by IP Address

Visualization: Bar Chart

source="apache_logs.json" host="webserver" sourcetype="_json"
| stats count AS Requests by ip
| sort - Requests
74 75 76 77 78 79 81 82 83

🌍 Task 3: Web Traffic by Client IP (Geographic View)

πŸ”Ή Choropleth Map

Visualization: Choropleth Map

source="apache_mixed_access_full (1).json" host="webserver" sourcetype="_json" method=GET
| table ip
| iplocation ip
| stats count by Country
| geom geo_countries featureIdField="Country"
84 85 86 87 88 89 90

βœ… Key Features

  • πŸ“Š Real-time traffic monitoring
  • 🚨 Error detection (4xx & 5xx)
  • 🌐 Geographic traffic visualization
  • πŸ” Insight into popular resources and users
  • πŸ” Useful for security and anomaly detection

πŸ“Œ Use Cases

  • Web server monitoring
  • Security analysis
  • Traffic trend analysis
  • Performance troubleshooting
  • Academic and lab submissions

🧾 Conclusion

This project delivers a comprehensive Splunk dashboard for analyzing web traffic logs using SPL queries and visual analytics. It enables administrators and security analysts to quickly understand traffic behavior, detect anomalies, and make informed decisions.


πŸ“š Future Enhancements

  • Add alerts for high error rates
  • Time-series trend analysis
  • Brute-force or suspicious IP detection
  • Integration with SIEM use cases

About

This project demonstrates the creation of an interactive Splunk dashboard to analyze Apache Web Traffic Logs in JSON format. The dashboard provides real-time insights into web activity, error trends, top resources, user IPs, and geographic traffic distribution.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published